package cn.smile.commons.domain;

import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 通用业务接口
 * </>
 *
 * @author 龙逸
 * @since: 2020-09-15 22:41:47
 **/
public interface IBaseService<T extends BaseDomain> extends IService<T> {
    /**
     * 新增
     *
     * @param domain 领域模型
     * @return {@code boolean}
     */
    boolean create(T domain);

    /**
     * 更新
     *
     * @param domain 领域模型
     * @return {@code boolean}
     */
    boolean update(T domain);

    /**
     * 逻辑删除
     *
     * @param id 数据ID
     * @return 删除结果
     */
    boolean delById(String id);

    /**
     * 获取
     *
     * @param id {@code Long} ID
     * @return 领域模型
     */
    T get(String id);
}
